Streaming media refer to continuous audio or video data stream that may be transmitted and played in a temporal sequence on the network, and a streaming media system is a system providing a streaming media file of an audio or video content, and the streaming media file may be downloaded via the network and played by internet users.
Referring to FIG. 1, the streaming media system is mainly composed of two parts, i.e. a streaming media server and a streaming media client (i.e., a media player). The main function of the streaming media server is to collect, buffer, schedule and transmit the streaming media file. The streaming media client may be positioned at a local computer of the user and capable of downloading the streaming media file from the streaming media server according to a streaming media protocol and playing the streaming media file.
Currently, the streaming media system in the market mainly includes a live streaming media system and an on-demand streaming media system. The live streaming media system may provide the user with a real-time data transmission service, in which the user can neither arbitrarily change the playing progress nor watch certain contents at any time, and relatively low technical requirements are involved; while the on-demand streaming media system enables the user to select the interested content for playing from various contents provided by the system as desired, and change the play progress, however, the streaming media server needs to store a large number of audio or video contents that are available for the selection by the users, thus the technical requirements for the on-demand streaming media system are relatively high.
The streaming media server is of much significance in the streaming media system, since its performance and load have a direct effect on the playing effect at the streaming media client. Generally, a streaming media server configured with better hardware can serve more users. However, the streaming media server may encounter a bottleneck of the performance regardless the configuration of the server. That is, the system may be overloaded and the requests of the users cannot be responded in time, when a streaming media server capable of serving hundreds of users confronts requests of more users (such as thousands of users), as a result, the playing at the client may be frequently interrupted and unsmooth. Therefore, the performance of the streaming media server needs to be enhanced increasingly in terms of techniques.
Referring to FIG. 2, in the existing streaming media system, an entire streaming media file is stored as a basic unit, and the streaming media file is downloaded to a streaming media client by using a traditional downloading mode and then played by a media player. For a relatively small streaming media file, such as a small audio file or a video file with a short playing time and a low resolution, it is not problematic for the streaming media server to store the entire streaming media file as a basic unit. However, with the popularity of the broadband service and the increasingly high requirements of the user, more and more video files with a high resolution need to be provided for the numerous internet users via the streaming media system, and such video file with the high resolution generally corresponds to a relatively large file in the streaming media server.
It is found by the inventors that there exist the following disadvantages in the prior art.
(1) With the increase of the number of users and the enlargement of size of the streaming media files, the performance of the streaming media server deteriorates rapidly. When lots of streaming media files are stored on the streaming media server while the contents attracting the users are widely spread over the streaming media files, numerous streaming media files may be in an active status, and data of the streaming media files need to be exchanged frequently between the memory and the hard disk, leading to a performance bottleneck in the streaming media server, which is mainly presented by the I/O performance bottleneck, so that the requests of various users cannot be responded in time because of the delay due to the low speed of reading the streaming media files from the hard disk.
(2) Space of storage of the streaming media server is not fully utilized. The streaming media server has to store the entire streaming media file regardless of the popularity of the streaming media file. In fact, however, the user may be interested in only a little part of the contents of the streaming media files. For the most streaming media files, the users watch/listen only a little part of contents at the beginning of the streaming media files, and stop playing the media files if they are not of interests. Thus, most of the entire streaming media files stored on the streaming media server are actually not watched/listened by the users, thereby resulting in a waste of the space of the storage.
(3) The experience of the user degrades. For the most of streaming media files, the users watch/listen only a little part of contents at the beginning of the media files to determine whether the streaming media files are of interests, and therefore hope that the little part of contents at the beginning can be played rapidly and the buffer time may be decreased. However, with the increase of the number of the users and the enlargement of the size of the streaming media file, the performance of the streaming media server deteriorates rapidly, and the buffer time becomes longer, so that the user experience degrades.